Integrated energy savings and business operations in data centers

ABSTRACT

A computer-controlled method of determining costs of power consumption in a data center includes monitoring power consumption for a customer, determine a cost of the power consumption for the customer, adjusting a cost of operation for the customer to include the cost of power consumption to produce an adjusted cost of operation for the customer, and comparing the adjusted cost of operation for the customer to a price for the customer.

CROSS REFERENCE TO RELATED APPLICATION

This application is a division of U.S. patent application Ser. No. 12/018,737, filed on Jan. 23, 2008, which is incorporated herein in its entirety.

BACKGROUND

Many entities use data centers for multiple purposes. Service providers, such as phone companies, cable networks, power companies, retailers, etc., store and access customers' data in larger ‘server farms,’ or data centers. For purposes of discussion here, ‘data center’ means a facility used to house computer systems and associated components, such as telecommunications and storage systems. A data center generally includes not just the computer systems, but back up power supplies, redundant data communications connections, environmental controls such as air conditioning and fire suppression, and security systems and devices.

Data center operations generally revolve around customer service levels. For example, a particular customer may have an agreement to have a particular quality of service for that customer's computations or data communications. The quality of service (QoS) may have different requirements for different customers. For example, for one customer, the key measure of the quality of service may involve how fast an application responds when accessed remotely. For another customer, the quality of service may involve the speed or bandwidth of connections provided to that customer's subscriber.

Data center operations managers will generally optimize and manage the loading of tasks and processing based upon meeting the defined QoS requirements for the manager's customers. The manager may distribute processing task, etc., in response to changing customer requirements over time and conditions that relate to the processing load. The manager does not generally take into account the impact on energy consumption of the various customer requirements, nor does the manager take into account the ‘true cost’ of operations for a particular customer.

For example, a customer may have a particular quality of service requirement that generally results in several high-load processes running on several different servers during a limited time every day with high priority. During other times, the quality of service requirement may taper off to a minimal processing requirement. That customer's service level agreement (SLA) would generally have a provision guaranteeing the availability of the processes during the limited time and may charge the customer more.

Contrast this with a customer that has a quality of service requirement that is relatively low, but steady state. The servers are constantly running to meet the customer's requirement, but because the quality of service requirements is relatively low, the customer may be charged less than the previous customer.

This type of business model does not take into account that the second customer's load may actually cost the data center more, because of the constant power requirement. Alternatively, one could find that the second customer does actually result in a lower cost of operations due to the predictable nature of the load. However, without monitoring and taking into account the cost of the energy for the data systems and the necessary supporting systems, such as increased air conditioning needs when many servers are running at high speeds, one will not have data to make these types of decisions.

Further, data centers are becoming an increasing burden on the already strained power and energy resources. Current estimates show the power consumption of data centers to be between 1 and 2 percent of the national consumption. With increasingly more entities relying upon data centers, and the growing population, this number will rise. Some way to make decisions with regard to costs, as well as more efficiently manage the power consumption of data centers would assist in these issues.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an embodiment of a power control system for a data center.

FIG. 2 shows a block diagram of an embodiment of a service/power controller process.

FIG. 3 shows a flowchart of an embodiment of a control path.

FIG. 4 shows a flowchart of an embodiment of a control path having a failure.

FIG. 5 shows a flowchart of an embodiment of a process for allocating resources based upon power consumption and performance.

FIG. 6 shows a flowchart of an embodiment of a process for monitoring predictability of power consumption in a data center.

FIG. 7 shows a flowchart of an embodiment of a process for monitoring power consumption and the associated cost in a data center.

FIG. 8 shows a flowchart of an embodiment of a process for adjusting operations of a data center based upon the impact of external factors on power consumption.

DETAILED DESCRIPTION OF THE EMBODIMENTS

FIG. 1 shows an architecture 10 for a data center. In this embodiment, the data center includes multiple physical servers. A physical server is an actual machine, such as a quad, dual or single core computing system that provides a particular service. Examples include communications servers, database servers, applications servers, etc.

A physical server differs greatly from a virtual server. A virtual server is one that appears to entities accessing it to be a single server, while it may actually be a partition or subset of a physical server. It may also appear as a single server, but actually be comprised of several physical servers. A virtual server is created through a virtualization process.

‘Virtualization’ may be defined as a technique for hiding the physical characteristics of computing resources from the way in which other systems, applications, or end users interact with those resources. This includes making a single physical resource such as a server, an operating system, an application, or storage device, appear to function as multiple logical resources. Virtualization may also include making multiple physical resources such as storage devices or servers appear as a single logical resource. It may also include making one physical resource to appear, with somewhat different characteristics, as one logical resource.

Using virtual servers enables the migration of processing tasks to other physical servers or resources transparently to the consumers of the services provided by the virtual server, where the consumer may be a user, a process, another computer, etc. A ‘consumer’ is any entity that uses a process or service within the power control system. This is contrasted with a ‘customer’ which is an identified entity to which the data center provides services according to a service level agreement. Performance levels are generally tracked by customers.

As such, the physical servers, such as 14 in FIG. 1 is depicted as being having several virtual servers such as 17 operating on it. A virtual server may be an application running on top of an operating system, for example. This is merely for demonstrative purposes and no limitation of location or logical hierarchy is intended, nor should one be implied. The virtual server 17 allows the service/power controller 18 to task the physical servers with processing tasks based in part on the power consumption/energy usage of the physical servers. This in turn allows optimization of the operation of the data center with regard to power consumption.

For ease of discussion, the service/power controller 18 may be referred to as the power controller. The controller 18 is a service/power controller, in that is controls the relationship between the quality of service demands and power consumption to balance the services demanded and paid for by customers while also managing the power consumption and distribution within the limits defined by the process.

Similarly, the controller 18 is shown as being a single controller, while it may actually be distributed across several computers, processing cores, etc. In addition to the central controller 18, one or more of the individual physical servers such as 14 may have local controllers such as 16. Further, while the only devices depicted in the diagram are servers, other types of devices may be included, such as power supplies, storage arrays or other storage, tape decks, etc.

The centralized controller 18 may be coupled to data lines 20. The functions of the data center generally revolves around data processing of some sort, and the controller may merely exist in the same power distribution structure as the data lines, or the power controller may monitor or affect the operation of the data lines.

Similarly, the power controller may merely exist in the same power structure as the power lines 22, or the power controller 18 may take a more active role with the power lines. The power lines 22 come in from ‘the grid,’ or the local power infrastructure that generally includes transmission lines, converters, transformers, power switches, etc.

The system may also couple to environmental input lines 24. These may be connections to the heating/ventilation/air conditioning (HVAC) system, lighting, other temperature sensors, etc. The power controller may use this in making determinations based upon external factors, as will be discussed in more detail later. Devices may exist in the server farm related to its maintenance and operation, shown as environmental control 15. The environmental control system 21 may control these devices. Examples include climate control systems such as HVAC; fire suppression systems, such as alarms, sprinklers, foam distributors, etc.; security systems and possibly even lighting. The power controller may regulate the operation of these systems in response to server level activity that may require cooling, hours of occupancy by operators, etc.

FIG. 2 shows a block diagram of an embodiment of a service/power control process 30 such as might be executed by the service/power controller device or subsystem in FIG. 1, again referred to as the power controller or power control process for ease of discussion. One of the concerns of the power control process is balancing the need to meet performance requirements with the desire or need to reduce power consumption.

The performance requirements are generally defined by customers. The data center manager may write a product description such as 36 for a customer that reads something like, “In this service, you will receive virtual processing equivalent to dedicated servers. You will receive the equivalent of 5 dedicated servers all of the time, but when their load is greater than 50%, the equivalent server count will expand automatically from 5 to as many as 20.”

This is a product description that the customer understands. The manager would then write, or choose from a library, a companion quality of service (QoS) description 38. This QoS specification is more precise than the product description and is used by the power control process 30 of FIG. 2 to define the performance requirements of the data center with regard to that customer. Most data center will have multiple customers, either external or internal.

On the other side of the process is the power model and power control. This interaction may be better understood with reference to control flow diagrams, such as those shown in FIGS. 3 and 4. In FIG. 3, a control path for power begins at the load level 40. A load is any device that consumes power and generates heat, thereby loading the system. The load will generally have a local controller 42 to manage power to meet performance objectives. Local control provides a fast acting and reliable control with lower complexity than centralized control. Further, the local control may allow inclusion of legacy elements of the data center into the power control process.

A power model may exist between the local controller 32 and the central controller management of power at 30 of FIG. 2. The power model describes the relationship between loads and power consumption. The power model may aggregate local power controllers, such as describing an entire physical server.

The service/power controller such as 18 in FIG. 1 then receives this information from the power side of the power control process of FIG. 2, at 44 of FIG. 3, and may rearrange the processing tasks distributed to the loads to optimize power and business objectives at 46. The centralized control relates to local autonomous control via higher level power models. The centralized control performs the balancing between the performance requirements/business objectives and the power savings goals.

FIG. 4 demonstrates one scenario to assist in understanding of the control hierarchy. At 40, a load fails. For example, assume the load was a variable speed fan. The local controller identifies the load failure at 42, or it is identified by independent sensors. This power model updates at 44 to reflect the status of the load, such as by determining that the processor in the server associated with the failed fan should not run, or should be lightly loaded to avoid overheating. The power model then communicates this information to the central controller and the central controller reallocates processing to other machines, while still managing business objectives in light of the power saving targets.

Returning to FIG. 2, the discussion has focused on the inputs to the service/power controller process 30. The power controller process has several outputs as well. For example, the power controller may identify and plan for or schedule opportunities to virtualize servers. For example, the server with the failed fan may have processes migrated from it and a determination may be made in which that server is no longer necessary. Because that physical server was virtualized into virtual servers, the elimination of that server is transparent to the consumers of the virtual server's services.

The power control process may direct migration of processes/tasks to other servers depending upon power consumption. This may occur as a preparation for a shut down, or merely for power consumption reasons. For example, there may be a server that consumes more power when running at a relatively high level, so a process may be migrated off of that server to lower the over all processing level for the server, thereby reducing the power consumption. In this instance, there is no intention of shutting down the server, the migration was done to balance the power consumption.

The power control process may also optimize tasks based upon power consumption. If a relatively high power consuming application is currently running, a lower power consuming task may be run in parallel so as to not ‘spike’ the power consumption, as would occur if a new, high power consuming task were to be launched.

The power control process and the architecture of FIGS. 1 and 2 can now enable business objectives to be met in a data center while taking into account energy management. The discussion here will refer to power consumption to address the regulation of energy used in operating the data center. One difference between the current invention as set out here and current procedures for optimization of operation of data centers is that power consumption and quality of service here become primary considerations in management of the data center.

This ability to track and manage power consumption provides opportunities to allocate processing resources to stay within power consumption targets, figure out the true cost of providing a customer a particular service level, reward or provide incentives to customers with particular characteristics of power consumption, and to adjust task allocation to account for external factors. In addition, monitoring power consumption provides a framework in which resources may be identified for virtualization, allows dynamic adjustment of virtualization schedules to maximize performance and minimize costs, provides accurate costing, tracks real costs of services and supports future decision making on service offerings and resource expansion. Opportunities are also provided to maintain quality of service while minimizing power consumption.

FIG. 5 shows a flowchart of an embodiment to adjust processing loads based at least partially on power consumption. At 60, the power controller monitors power consumption data passed to it from the power models. At 62, the inputs from the QoS requirements become performance requirements for the tasks. Based upon the power consumption data and the need to meet performance objectives, the task processing is adjusted across the physical servers using the virtual servers discussed above.

The virtualization process 68 may involve many different options with regard to adjusting the operation of the physical servers ‘behind’ the virtual servers. The adjustments in processing resources will remain transparent to the user because of the virtualization that has already occurred.

At 680, one virtualization possibility would be to reallocate tasks to free up a physical server for shut down. Once any tasks operating on that server were reallocated or migrated to other servers, the physical server would be shut down, reducing power consumption. Again, to the consumers of the virtual server, this change would be transparent.

At 684, another virtualization opportunity may present itself in clustering servers geographically, by server type, by electrical characteristic, etc. Clustering servers may provide some advantages in efficiency that may ultimately reflect as lower power consumption. For example, clustering all of the servers used by one particular customer geographically together may provide for localized control of the HVAC system for that region. Alternatively, distributing servers geographically may increase reliability. Clustering may be done using affinity rules, as well.

In addition to adjusting the operational side, adjustments could be made to the requirements as well. The QoS specification may have allowances for lower levels of QoS or performance requirements at 686, not to exceed some portion of the service period, such as, “you may occasionally have as few as 5 servers assigned to you, but not more than 2 days a month.” This would allow the system to virtualize additional servers as needed to reduce power consumption.

In addition to the changes made functionally to the servers, changes may be made to the environmental controls based upon the resource allocation at 66. The power controller may determine that less air conditioning is needed at particular periods of time because the servers are running at a lower level and therefore generating less heat, as an example.

In addition to allocating resources based upon power consumption, it is also possible to adjust service level agreements with customers based upon the predictability of their processing requirements and power consumption. Higher levels of predictability may result in lower costs, even though the overall level of processing required is high. Predictability also lends itself to better investment decisions with regard to adding resources.

For example, if a customer's business runs at a fairly medium level of processing requirements the majority of the time, and the customer's business is growing, a data center manager may be more likely to invest in more resources. However, if a customer's business runs at lower levels for long periods of time and has random spikes of very high level processing required, it is more difficult to determine if additional resources would be a wise investment. If predictability were to provide incentives in the service level agreements, it is possible that the customer may alter the behavior. Alternatively, raising the prices for the unpredictable customer would defray the costs of purchasing new resources that may remain largely idle until that customer's burst of activity hits.

Of course, many predictive models may be used to determine how predictable a customer's power consumption is. Generally, the models will involve making a prediction and then comparing the predicted level with the actual level. An embodiment of this type of process is shown in FIG. 6.

At 70, the process monitors power consumption. It must be noted that this monitoring that occurs in many of the embodiments described herein may be an ongoing process. The embodiments of the methods do not necessarily ‘start’ with power monitoring. More accurately, the methods access the power monitoring capabilities described above.

The process would then predict power usage at a particular time in the future at 72. The time may be 10 seconds from now, 10 minutes from now, etc. The desired time period may depend upon several factors including having a short enough time period to allow for adaptation and adjustment of loads in a dynamic fashion. At 74, the actual power consumption at the predicted time would then be measured.

At 76 the predicted and actual power consumption may be compared to result in some sort of predictability data. This data may take the form of a predictability rating that feeds into pricing thresholds, etc. The predictability data determined at 78 would then also affect such things as price adjustments at 80, load adjustments in a proactive fashion when a change in power consumption is predicted to be imminent at 82, and adjustments in a period of time used for judging predictability at 84.

As mentioned above, the model used to make the prediction may employ several different methods. For example, the power consumption predicted to be used in 10 minutes may be based upon the current power consumption. Alternatively, the power consumption may be based upon a power consumption history. For example, a particular customer may perform updates to its system at midnight every night. If it is 11:50 pm, the predicted power consumption at 12:00 would be vastly different than the current power level and the prediction would have little to do with the current power level. Instead, the power consumption history would predict a much higher level of power consumption.

In addition to being able to predict power consumption and price service level agreements based upon the predictability of power consumption for a particular customer, the data center manager may be able to price service level agreements more appropriately based on power consumption. For example, a cost of operations used in pricing service level agreements generally involves determining the cost of the resources necessary to meet a particular service level agreement. These costs may include amortization of the purchase of the server, use of the devices themselves and an overhead cost of the facility. The ability to add in the cost of power consumption would make these costs more accurate and provide an ability to determine a true cost of operations.

FIG. 7 shows an embodiment of a method to track power consumption and determine a true cost of operation. The power consumption is monitored at 90, as discussed above. At 92, the cost of the power consumption is determined, generally using the price provided from the power supplier of the grid from which the data center receives power. This pricing may vary depending upon grid conditions, time of the day, day of the month, etc. The power controller would compute the cost of power consumption for the customer during operations in support of the customer.

The system would then adjust the cost of operations based on this cost at 94. The system may also have access to an accounting system that can perform this adjustment, rather than performing it at the power control system level. This information would then be provided to the data center manager at 98, possibly as an automated report showing a comparison of the price charged that customer versus the adjusted cost of operations determined at 96 or a recommendation to change the customer's pricing, etc. at 100. The information may be provided at 98 as an identification of the profitable clients, most efficiently priced clients, or the properly provisioned customer, which would be those whose pricing is appropriate in light of the true cost of that customer's operations.

In one embodiment, this process may be entirely automated. The customer would have a service level agreement that allowed for some variability in the price within some agreed upon range. The system could dynamically adjust the pricing depending upon the true costs of operation at 102.

This automatic adjustment of the pricing further illustrates that the system assists at different levels of managing the data center operations. This information gathered from the power monitoring can be used strategically, operationally or for planning Strategic use would generally include using the information gathered to make decisions on future service offerings, and investments in resource expansion. The example above demonstrates an operational use, allowing dynamic adjustment of not just pricing, but can also include dynamic adjustment of virtualization. Planning use generally includes identification, demonstration and implementations of virtualization opportunities.

In addition to adjustment of the processing loads and pricing, power control also allows for adjustment of operations based upon external factors. External factors may include the state of the power grid external to the data center, environmental factors such as the outside temperature, as that affects the cooling requirements of the data center, etc. FIG. 8 shows an example of this type of adjustment.

In FIG. 8, the power consumption is monitored at 110. The system also monitors external factors at 112. The impact of these external factors is evaluated at 114. This may include determining HVAC control adjustments based upon an outside temperature, either for today, or for example, for tomorrow's expected temperature. The state of the grid may also have an impact on operations, as the pricing may fluctuate depending upon the demands on the grid.

One special condition that may exist on the grid, for example, is what is referred to as a demand response condition. A demand response condition occurs when the demand on the grid hits a predetermined load and power consumers that can reduce their consumption are given incentives to do so. If a demand response condition exists at 120, the power controller can scale back those processing tasks with lower quality of service requirements than other processing tasks. This would allow the data center to receive preferential pricing and reduce costs.

Returning to 114, the evaluation of the impact can then result in adjustment of operations based upon the predicted or actual impact at 116. The adjustment may include distribution of loads, shutting down a server, or not shutting down a server that would otherwise have been shut down, manipulation of the HVAC system controls, etc.

The ability to monitor power consumption of all of the devices in a data center can then allow better management of the data center. This monitoring, combined with virtualization of the resources, allows the power controller to adjust operations, pricing and virtualization as needed to minimize power consumption of the data center.

The power controller may be implemented as a stand alone computing device, having at least one processor as shown in FIG. 1. The methods described here may be implemented as computer-controlled methods. Additionally, they may be implemented as instructions stored on a computer-readable medium, that when executed cause a computer to perform the methods described here.

It will be appreciated that several of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Also that various presently unforeseen or unanticipated alternatives, modifications, variations, or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims. 

What is claimed is:
 1. A computer-controlled method of determining costs of power consumption in a data center, comprising: monitoring power consumption for a customer; determine a cost of the power consumption for the customer; adjusting a cost of operation for the customer to include the cost of power consumption to produce an adjusted cost of operation for the customer; and comparing the adjusted cost of operation for the customer to a price for the customer.
 2. The computer-controlled method of claim 1, further comprising making a price adjustment for the customer based upon the adjusted cost of operation.
 3. The computer-controlled method of claim 1, further comprising performing the method for multiple customers.
 4. The computer-controlled method of claim 3, further comprising identifying at least one of profitable customers, unprofitable customers, properly provisioned customers and customers having efficient quality of service requirements.
 5. The computer-controlled method of claim 4, further comprising providing a result of the comparing to a data center manager. 